package cn.ike.service.company.impl;

import cn.ike.dao.company.CompanyDao;
import cn.ike.domain.company.Company;
import cn.ike.service.company.CompanyService;
import com.alibaba.dubbo.config.annotation.Service;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.springframework.beans.factory.annotation.Autowired;

import java.util.List;
import java.util.UUID;

/**
 * Company业务层
 */

@Service(timeout = 100000)
public class CompanyServiceImpl implements CompanyService {

    // 注入CompanyDao
    @Autowired
    private CompanyDao companyDao;

    /**
     * 查询所有企业
     */
    @Override
    public List<Company> findAll() {
        return companyDao.findAll();
    }

    /**
     * 分页查询
     * @param pageNum  当前页
     * @param pageSize 页大小
     * @return 返回封装分页参数的PageInfo对象
     */
    @Override
    public PageInfo<Company> findByPage(Integer pageNum, Integer pageSize) {
        // 开始分页
        PageHelper.startPage(pageNum, pageSize); //---关键代码，其后第一条查询自动分页
        // 调用Dao
        List<Company> companies = companyDao.findAll();
        return new PageInfo<>(companies);
    }

    /**
     * 添加企业
     */
    @Override
    public void save(Company company) {
        // 设置企业ID
        company.setId(UUID.randomUUID().toString());
        companyDao.save(company);
    }

    /**
     * 更新企业信息
     */
    @Override
    public void update(Company company) {
        companyDao.update(company);
    }

    /**
     * 修改企业信息
     */
    @Override
    public Company findById(String id) {
        return companyDao.findById(id);
    }

    /**
     * 删除企业
     */
    @Override
    public void delete(String id) {
        companyDao.delete(id);
    }
}
